Skip to content

fix: 增加 BrokerClientItem 连接失败自动重试机制 - #542

Open
mcqwy wants to merge 1 commit into
iohao:mainfrom
mcqwy:reconnect-retry
Open

fix: 增加 BrokerClientItem 连接失败自动重试机制#542
mcqwy wants to merge 1 commit into
iohao:mainfrom
mcqwy:reconnect-retry

Conversation

@mcqwy

@mcqwy mcqwy commented Jul 25, 2026

Copy link
Copy Markdown
  • 问题现象:DNS 临时失效或网关后启动时,逻辑服首次连接失败后不会自动恢复
  • 解决方案:使用 DelayTaskKit 实现非阻塞延迟重试,重试间隔默认 30 秒
  • 兼容性:registerToBroker 保持 public,外部调用不受影响(如 RequestBrokerClientModuleMessageClientProcessor)
  • 配置扩展:新增 IoGameGlobalConfig.maxRetryCount(默认0不重试)和 retryDelayMillis(默认30000ms)
  • 并发安全:使用 AtomicBoolean 控制重试任务,防止重复触发
  • 任务隔离:使用 address + System.identityHashCode 作为任务ID,支持多网关多实例

Closes #532

- 问题现象:DNS 临时失效或网关后启动时,逻辑服首次连接失败后不会自动恢复
- 解决方案:使用 DelayTaskKit 实现非阻塞延迟重试,重试间隔默认 30 秒
- 兼容性:registerToBroker 保持 public,外部调用不受影响(如 RequestBrokerClientModuleMessageClientProcessor)
- 配置扩展:新增 IoGameGlobalConfig.maxRetryCount(默认-1无限重试)和 retryDelayMillis(默认30000ms)
- 并发安全:使用 AtomicBoolean 控制重试任务,防止重复触发
- 任务隔离:使用 address + System.identityHashCode 作为任务ID,支持多网关多实例

Closes iohao#532
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 9 complexity · 0 duplication

Metric Results
Complexity 9
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

逻辑服启动早于 Broker 时首次连接失败,后续 Broker 就绪无法自动重连的问题

1 participant